/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.bld.model.contato;

import br.com.bld.util.facade.BLDDataErro;

/**
 *
 * @author Pedro
 */
public class ContatoEntity implements BLDDataErro {

    public static final String CLASS_ID = "ContatoEntity";

    private String nome;        //character varying(255),
    private Long nurmFone;      //numeric(14,0),
    private Long nurmFax;       //numeric(14,0),
    private String email;       //character varying(255)

    public static final String CAMPO_NOME = "Nome";
    public static final String CAMPO_NUMR_FONE = "Fone";
    public static final String CAMPO_NUMR_FAX = "Fax";
    public static final String CAMPO_EMAIL = "e-mail";

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {

        if (nome != null && nome.equals("")) {
            throw new IllegalArgumentException(String.format(PARM_NAO_INFORMADO, CAMPO_NOME));
        }
        if (nome != null && nome.length() > 255) {
            throw new IllegalArgumentException(TAMANHO_MAX_MAIOR);
        }

        this.nome = nome;
    }

    /**
     * @return the nurmFone
     */
    public Long getNurmFone() {
        return nurmFone;
    }

    /**
     * @param nurmFone the nurmFone to set
     */
    public void setNurmFone(Long nurmFone) {

        if (nurmFax != null && nurmFax <= 0) {
            throw new IllegalArgumentException(String.format(PARM_NAO_INFORMADO, CAMPO_NUMR_FONE));
        }

        this.nurmFone = nurmFone;
    }

    /**
     * @return the nurmFax
     */
    public Long getNurmFax() {
        return nurmFax;
    }

    /**
     * @param nurmFax the nurmFax to set
     */
    public void setNurmFax(Long nurmFax) {

        if (nurmFax != null && nurmFax <= 0) {
            throw new IllegalArgumentException(String.format(PARM_NAO_INFORMADO, CAMPO_NUMR_FAX));
        }

        this.nurmFax = nurmFax;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {

        if (email != null && email.equals("")) {
            throw new IllegalArgumentException(String.format(PARM_NAO_INFORMADO, CAMPO_EMAIL));
        }
        if (email != null && email.length() > 255) {
            throw new IllegalArgumentException(TAMANHO_MAX_MAIOR);
        }

        this.email = email;
    }
}
